import request from '@/utils/request'
import { stringify } from 'qs'
/** 用户API开始 */

export function querySysUser(query) {
  return request({
    url: '/api/admin/sysuser/querySysUser',
    method: 'get',
    params: query
  })
}

export function addSysUser(data) {
  return request({
    url: '/api/admin/sysuser/addSysUser',
    method: 'post',
    needLoading: true,
    data
  })
}

export function updateSysUser(data) {
  return request({
    url: '/api/admin/sysuser/updateSysUser',
    method: 'put',
    needLoading: true,
    data
  })
}
export function updateSysUserDetail(data) {
  return request({
    url: '/api/account/sysuserdetail/updateSysUserDetail',
    method: 'put',
    data
  })
}
export function updatePassword(query) {
  return request({
    url: '/api/account/sysuserdetail/updatePassword',
    method: 'put',
    params: query
  })
}

export function queryRoleName() {
  return request({
    url: '/api/admin/sysrole/queryRoleName',
    method: 'get'
  })
}

export function querySysOrgTree() {
  return request({
    url: '/api/admin/sysorg/querySysOrgTree',
    method: 'get'
  })
}

/** 用户API结束 */
/** 用户组API开始 */

export function findSysUserGroupAll(query) {
  return request({
    url: '/api/admin/sysusergroup/findSysUserGroupAll',
    method: 'get',
    params: query
  })
}

export function addSysUserGroup(data) {
  return request({
    url: '/api/admin/sysusergroup/addSysUserGroup',
    method: 'post',
    needLoading: true,
    data
  })
}

export function updateSysUserGroup(data) {
  return request({
    url: '/api/admin/sysusergroup/updateSysUserGroup',
    method: 'put',
    needLoading: true,
    data
  })
}
export function deleteSysUserGroupById(data) {
  return request({
    url: '/api/admin/sysusergroup/deleteSysUserGroupById',
    method: 'post',
    params: {
      id: data
    }
  })
}

/** 用户组API结束 */
/** 菜单API开始 */

export function querySysMenu(query) {
  return request({
    url: '/api/admin/sysmenu/querySysMenu',
    method: 'get',
    params: query
  })
}

export function addSysMenu(data) {
  return request({
    url: '/api/admin/sysmenu/addSysMenu',
    method: 'post',
    needLoading: true,
    data
  })
}

export function updateSysMenu(data) {
  return request({
    url: '/api/admin/sysmenu/updateSysMenu',
    method: 'put',
    needLoading: true,
    data
  })
}

export function querySysMenuTree() {
  return request({
    url: '/api/admin/sysmenu/querySysMenuTree',
    method: 'get'
  })
}

export function queryMenuButtonCheckbox() {
  return request({
    url: '/api/admin/sysmenu/queryMenuButtonCheckbox',
    method: 'get'
  })
}

export function queryCheckedMenuButton(data) {
  return request({
    url: '/api/admin/sysmenu/queryCheckedMenuButton',
    method: 'get',
    params: {
      menuCode: data
    }
  })
}
// 查询用户名的下拉框数据
export function queryUsername() {
  return request({
    url: '/api/admin/sysuser/queryUsername',
    method: 'get'
  })
}
// 查询数据字典类型数据列表
export function getSysDictByType(data) {
  return request({
    url: '/api/admin/sysdict/getSysDictByType',
    method: 'get',
    params: {
      dictType: data
    }
  })
}

/** 菜单API结束 */
/** 机构管理API开始 */
// 新增
export function addSysOrg(data) {
  return request({
    url: '/api/admin/sysorg/addSysOrg',
    method: 'post',
    needLoading: true,
    data
  })
}

// 编辑
export function updateSysOrg(data) {
  return request({
    url: '/api/admin/sysorg/updateSysOrg',
    method: 'put',
    needLoading: true,
    data
  })
}

export function queryOrgUserTree(roleId, assign) {
  return request({
    url: '/api/admin/sysorg/queryOrgUserTree',
    method: 'get',
    params: {
      roleId: roleId,
      assign: assign
    }
  })
}
/** 机构管理API结束 */
/** 数据字典API开始 */
export function querySysDictTree() {
  return request({
    url: '/api/admin/sysdict/querySysDictTree',
    method: 'get'
  })
}
// 新增
export function addSysDict(data) {
  return request({
    url: '/api/admin/sysdict/addSysDict',
    method: 'post',
    needLoading: true,
    data
  })
}

// 编辑
export function updateSysDict(data) {
  return request({
    url: '/api/admin/sysdict/updateSysDict',
    method: 'put',
    needLoading: true,
    data
  })
}
/** 数据字典API结束 */
/** 区域管理API开始 */
export function querySysRegionTree() {
  return request({
    url: '/api/admin/sysregion/querySysRegionTree',
    method: 'get'
  })
}
// 新增
export function addSysRegion(data) {
  return request({
    url: '/api/admin/sysregion/addSysRegion',
    method: 'post',
    needLoading: true,
    data
  })
}

// 编辑
export function updateSysRegion(data) {
  return request({
    url: '/api/admin/sysregion/updateSysRegion',
    method: 'put',
    needLoading: true,
    data
  })
}
/** 区域管理API结束 */
/** 参数管理API开始 */
// 新增
export function addSysParam(data) {
  return request({
    url: '/api/admin/sysparam/addSysParam',
    method: 'post',
    needLoading: true,
    data
  })
}

// 编辑
export function updateSysParam(data) {
  return request({
    url: '/api/admin/sysparam/updateSysParam',
    method: 'put',
    needLoading: true,
    data
  })
}
/** 区域管理API结束 */
/** 消息通知API开始 */
export function queryNotificationPriority() {
  return request({
    url: '/api/notification/notification/queryNotificationPriority',
    method: 'get'
  })
}
// 消息管理
export function addNotification(params = {}) {
  return request({
    url: `/api/notification/notification/addNotification?${stringify(params.expand)}`,
    method: 'post',
    needLoading: true,
    data: {
      ...params.body
    }
  })
}

// 编辑
export function updateNotification(params = {}) {
  return request({
    url: `/api/notification/notification/updateNotification?${stringify(params.expand)}`,
    method: 'put',
    needLoading: true,
    data: {
      ...params.body
    }
  })
}
/** 消息通知API结束 */
/** 应用管理API开始 */
// 新增
export function addAppClient(data) {
  return request({
    url: '/api/uaa/appclient/addAppClient',
    method: 'post',
    needLoading: true,
    data
  })
}

// 编辑
export function updateAppClient(data) {
  return request({
    url: '/api/uaa/appclient/updateAppClient',
    method: 'put',
    needLoading: true,
    data
  })
}
/** 应用管理API结束 */
/** 租户API开始 */

export function addSysTenant(data) {
  return request({
    url: '/api/admin/systenant/addSysTenant',
    method: 'post',
    data
  })
}

export function updateSysTenant(data) {
  return request({
    url: '/api/admin/systenant/updateSysTenant',
    method: 'put',
    data
  })
}

/** 租户API结束 */

